package com.lan.lexer.type;

import com.lan.lexer.TokenType;

public enum KwType implements TokenType {

    BOOLEAN("boolean"),
    INT("int"),
    LONG("long"),
    FLOAT("float"),
    DOUBLE("double"),
    STRING("string"),
    STRING_NULL("String"),
    NULL_LITERAL("null"),
    INTEGER("Integer"),
    DOUBLE_NULL("Double"),
    TYPE_VAR("let"),

    BREAK("break"),
    CASE("case"),
    CATCH("catch"),
    CHAR("char"),
    CLASS("class"),
    CONST("const"),
    CONTINUE("continue"),
    DEFAULT("default"),
    ELSE("else"),
    FINALLY("finally"),
    FOR("for"),
    IF("if"),
    GOTO("goto"),
    IMPORT("import"),
    NEW("new"),
    PACKAGE("package"),
    RETURN("return"),
    STATIC("static"),
    SWITCH("switch"),
    THIS("this"),
    THROW("throw"),
    THROWS("throws"),
    TRY("try"),
    VOID("void"),
    WHILE("while"),
    FUNCTION("function");


    private String name;

    KwType(String name) {
        this.name = name;
    }

    @Override
    public String getName() {
        return name;
    }
}
